﻿#ifndef CSensorItemConfig_H
#define CSensorItemConfig_H

#include <QWidget>
#include "ui_CSensorItemConfig.h"
#include "CDevBase.h"
#include "CRBaseData.h"
class CSensorItemConfig : public QWidget
{
	Q_OBJECT

public:
	CSensorItemConfig(QString sSceneGuid, CDevBase* pDev,QWidget *parent = nullptr);
	~CSensorItemConfig();

	void setData(QString sName, int nDevTypeCode,QString sItemGuid, int nAlarmType,double dDataThreadHoldHH,
		double dDataThreadHoldLL, double dDataThreadHoldH,double dDataThreadHoldL, int nBelong, int nCheckType, 
		int nCollectCheckType, int nCollectRollerNum,int nCollectIndex, double dCollectInterval);//设置界面数据

	void setTitle();//设置标题

private:
	void initData();//初始化界面数据
	void initConnect();//初始化槽函数连接

public slots:
	void slotPushButtonSaveClicked();//点击保存按钮槽函数
	void slotDevTypeCodeChanged(int nIndex);//当设备类型发生变化时
	void slotCheckTypeChanged(int nIndex);//当巡检项工作类型发生变化时
	void slotCollectCheckTypeChanged(int nIndex);//当持续检测报警间隔判断类型发生变化时
	void slotAlarmSet();
signals:
	void sigRefushUI();//通知上层刷新UI的信号

public:
	CPolArea* m_pPolAreaOld;//区域备份
	QString m_sPointGuid;//巡检点GUID
	QString m_sGuid;//场景GUID
	int m_nType;//0:增加 1:修改
	CDevBase* m_pDev;
private:
	Ui::CSensorItemConfigClass ui;
	QMap<int, QString> m_mapDevTypeCode;//设备类型枚举
	QMap<int, QString> m_mapAlarmType;//报警等级
	QMap<int, QString> m_mapBelong;//归属点位
	QMap<int, QString> m_mapCheckType;//巡检项工作类型
	QMap<int, QString> m_mapCollectIndex;//持续任务动作点
	QMap<int, QString> m_mapCollectCheckType;//持续检测报警间隔判断类型
};

#endif
